// 引入请求函数
import { reqGetSearchInfo } from '@/api/index'

// Search模块的小仓库
const state = {
    searchinfo: [],
};
const mutations = {
    SEARCHINFO(state, searchinfo) {
        state.searchinfo = searchinfo;
    }
};
const actions = {
    // dispatch调用action中的函数时，会传递post请求需要的params参数，至少是一个空对象
    async getSearchInfo(context, params = {}) {
        let res = await reqGetSearchInfo(params);
        if (res.code === 200) {
            context.commit("SEARCHINFO", res.data)
        }

    }
};

// 计算属性，在项目当中，为了简化仓库中的数据而生
// 可以把将来在组件当中要用的数据获取简化一下
const getters = {
    // 形参：state，当前仓库中存储的数据
    // 加入没有网，那么state.searchinfo得不到数据将是空对象
    // 而这些空对象身上的getter属性将是undefined，等下去遍历undefined的时候就会出错
    // 所以至少要返回一个数组
    goodsList: (state) => state.searchinfo.goodsList || [],
    trademarkList: (state) => state.searchinfo.trademarkList || [],
    attrsList: (state) => state.searchinfo.attrsList || [],

};
export default {
    state,
    mutations,
    actions,
    getters
}